/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：UICompositeSlider.js<br>
 * 日期：2016年8月8日<br>
 * 作者: <br>
 * 功能：Slider组件<br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 ******************************************************************************/

window.makeNamespace(window,"Rainier.UI.V2");


/**
 * 类型名称：Rainier.UI.UICompositeSlider<br>
 * 类型功能：布局类声明<br>
 * 接口函数：<br>
 * 成员变量：<br>
 */
Rainier.UI.V2.UICompositeSlider = Rainier.UI.V2.UIComposite.extend({
	
	NAME : "Rainier.UI.V2.UICompositeSlider",
	
	/**
	 * 函数名称Rainier.UI.V2.UICompositeSlider.init<br>
	 * 函数功能：构造函数<br>
	 * 参数输入：objParentComposite	:  	父组件实例 一般为对应的panel或者layout中添加<br>
	 * 参数输入：objProperties		 	:	
	 * {
	 * 		width	: 500,				//slider的宽度
	 * 		height	: 200,				//slider的高度	
	 * 		model	: 'h'/'v',			//水平显示还是垂直显示
	 * 		showTip : false/true,		//是否显示对应的tipTool
	 * 		value	: 30,				//当前值
	 * 		min		: 10,				//最小值
	 * 		max		: 100,				//最大值
	 * 		step	: 20				//步长
	 * }
	 * 注：具体参数信息参照easyUI官网该组件Properties<br>	
	 * 异常信息：无<br>
	 */
	init : function(objParentComposite,objProperties){
		//使用父类初始化子类对象
		this._super(objParentComposite,objProperties);
	},

	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.appendEventHandler<br>
	 * 函数功能：添加事件代理<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	appendEventHandler : function(){		
		this.m_aEventList = ['onChange',
		                     'onSlideStart',
		                     'onSlideEnd',
		                     'onComplete'
		                     ];
		this._super();
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.createComposite<br>
	 * 函数功能：创建组件<br>
	 * 参数输入：eleParent : 父组件的节点元素<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	createComposite : function(eleParent){
		this._super(eleParent);		
		var newEle = this.CreateElement("input",this.m_objProperties.id);
		eleParent.append(newEle);
		newEle.slider(this.m_objProperties);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.callUiMethod<br>
	 * 函数功能：使用代理方式执行相应的函数<br>
	 * 参数输入：sMethod : 方法名称
	 * 参数输入：objArgs : 根据方法名称，在该类方法中查找对应参数，或easyUI官网对应组件的方法中检索
	 * 函数返回：根据调用方法，返回相应的数值<br>
	 * 异常信息：<br>
	 */
	callUiMethod : function(sMethod,objArgs){
		return this.getElement().slider(sMethod,objArgs);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.options<br>
	 * 函数功能：返回选择的对象<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：返回选择的对象<br>
	 * 异常信息：无<br>
	 */
	options : function(){
		return this.getElement().slider('options');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.destroy<br>
	 * 函数功能：销毁创建的输入框组件<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	destroy : function(){
		return this.getElement().slider('destroy');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.resize<br>
	 * 函数功能：重新设置组件的宽度<br>
	 * 参数输入：Width : 500<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	resize : function(Width){
		return this.getElement().slider('resize',Width);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.getValue<br>
	 * 函数功能：获取组件的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：返回slider值 value<br>
	 * 异常信息：无<br>
	 */
	getValue : function(){
		return this.getElement().slider('getValue');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.getValue<br>
	 * 函数功能：获取组件的值<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：返回slider值 value 数组<br>
	 * 异常信息：无<br>
	 */
	getValues : function(){
		this.getElement().slider('getValues');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.setValue<br>
	 * 函数功能：设置组件的值<br>
	 * 参数输入：sValue : string 类型的字符串<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	setValue : function(value){
		this.getElement().slider('setValue',value);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.setValue<br>
	 * 函数功能：设置组件的值<br>
	 * 参数输入：Values : Array 数组<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	setValues : function(values){
		this.getElement().slider('setValues',values);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.clear<br>
	 * 函数功能：清空输入框中的内容<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	clear : function(){
		this.getElement().slider('clear');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.reset<br>
	 * 函数功能：重置输入框组件内容<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	reset : function(){
		this.getElement().slider('reset');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.enable<br>
	 * 函数功能：设置输入框为可用输入框组件<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	enable : function(){
		this.getElement().slider('enable');		
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeSlider.disable<br>
	 * 函数功能：设置输入框为不可用输入框组件<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */ 
	disable : function(){
		this.getElement().slider('disable');		
	},
});